#version 330 core

// Información de entrada de los vértices. Es diferente para cada una de las ejecuciones de este shader
layout(location = 0) in vec2 vertexPosition_screenspace;
layout(location = 1) in vec2 vertexUV;

// Valores de salida ; serán interpolados para cada fragmento
out vec2 UV;

void main(){

	// Output position of the vertex, in clip space
	// map [0..800][0..600] to [-1..1][-1..1]
	vec2 vertexPosition_homoneneousspace = vertexPosition_screenspace - vec2(400,300); // [0..800][0..600] -> [-400..400][-300..300]
	vertexPosition_homoneneousspace /= vec2(400,300);
	gl_Position =  vec4(vertexPosition_homoneneousspace,1,1);
	
	// UV of the vertex. No special space for this one.
	UV = vertexUV;
}
